The present invention relates to information storage and retrieval systems and, more particularly, to a system, method and program for the creation and maintenance of standardized image data in a central location from a remote client or terminal computer.
Many database applications require the storage of photographs or other digital images in a central database, either along with, or in such a manner as to be relationally connected to other data in the central database which data can then be queried, displayed or otherwise manipulated from or by a remote client computer connected by network or otherwise.
While the most basic data entry technique comprises the entry or upload of data into the central database at the file server, the proliferation of computer networks such as virtual private networks, wide area networks and/or the internet has made it desirable to be able to upload such image data as necessary to such a central database application from a client computer remotely located on such a network.
One example of such a category of centralized database applications would be an electronic commerce system. Electronic commerce systems themselves can take many shapes. For example, one of the most basic types of electronic commerce services is the operation of a xe2x80x9cweb storexe2x80x9d, being a centralized database from which a remote user can query information about products or services and transmit purchase orders via the network to the centralized database, which database is in turn connected to the retailer""s back-end software from whence orders and payments can be processed and products or services purchased can be dispatched to the buyer. This type of an electronic commerce application would typically be operated by a conventional retailer offering some of their products or services for sale via the internet, or a company established to offer products for sale via an internet site as their primary distribution point. In either such case, the product information stored in the central database would either be administered from the retailer""s file server, or from one or more dedicated data entry terminals connected in close proximity, likely by a local area network, to the file server.
In commerce applications such as this, as internet users"" comfort level and knowledge of the sophistication of the internet increases, the provision of photographs or graphic material related to various database records provides a more complete shopping or selling experience and may increase the selling power of the database.
The equipment overhead and technical support necessary to operate the computer systems that host these various xe2x80x9cnetcentricxe2x80x9d applications is high. The outsourcing of many of these functions to dedicated internet service companies, rather than performing the services in-house on one""s own computer equipment, has grown in popularity.
In addition to the outsourcing of network systems, there has also been the development of a sector in the internet economy which deals with the provision of centralized brokerage or operation of an internet database application, which individual users can manipulate and administer from their own client computers on the internet, generally speaking by simply operating their internet browser software. Basic examples of such a user-administered, centralized database application are on-line auction sites or the like, such as eBay(trademark). A user offering an item for sale via such a site can set up a sale record in the central database and can optionally be given the opportunity to upload an image or photograph of their item to the centralized database for storage with the remainder of the sale record associated with that item, for eventual display upon receiving a user query for information associated with that item.
Where centralized data entry is not used, centralized image processing is not feasible either. For example, in the case of a consumer setting up an auction for some particular item on one of many auction sites available on the internet, the consumer enters the various product information in a form for submission to the central database, where it is validated and posted and made available to other members of the public or other subscribing members of that database. Any image or images to be submitted along with the remainder of the data need to be attached to the form in some way or alternatively transmitted with some type of a correlating identifier. In such a database application there could be many millions of records and the operator of the database likely does not wish to be responsible for the manual entry or even partial manual processing of various image files into their database. Again, this stresses the importance of an automated method of posting image data to a central location.
Where the product sales data stored in the centralized database included pictures or other images, it would obviously be desirable to provide standardized image output from the database on processing of a consumer query. This would allow for the standardization of the reporting tools used to report such queries as well as smoothing out the application interface. In such a centrally controlled application, the image data stored in the database might be created with the standard formatting attributes desired, or might alternatively be reformatted in advance of loading into the central database. A process for the automated resizing, re-sampling or application of other formatting attributes to various image files for loading into such a central database would improve the efficiency of creating or maintaining image data stored in such a centralized database application as well as the quality of the data stored.
One of the problems which arises with any application gathering photo or image data from numerous users is the difference in image file types, resolutions or sizes, or other attributes associated with each image file. For example, one user may supply their image files in JPEG format, having exported them from a professional imaging software, while another user might have various images stored in his computer in, for example, a GIF format from a digital camera or the like. The resolution of one image may be near photo quality, while the resolution of another image may be grainy at best.
Obviously another major image attribute, in addition to file format and resolution, where standardized query results are wished to be reported, is that of image size. Where images of widely varying sizes are uploaded into the central database it is difficult, if not impossible, to program a smooth query reporting interface. If it were possible to provide an image uploading facility which would upload only images of the desired size, resolution or other qualities, the programming and interfaces of these centralized database applications could be improved.
Having identified the utility of a system and method which would allow for the storage of image data in a standardized format in a centralized database for access by clients from remote locations on a network connected to said centralized database, there are other factors which, to some extent, dictate the optimal solution to the problem. For example, while the reformatting of the image files submitted by a network user could be done by the file server or by another server operated by the server of the database, the processing power required to handle such repeated image processing tasks would be substantial and would require the augmentation of the central database server hardware, likely at considerable additional cost to the database operator. In addition, the concurrent receipt of numerous image files being transmitted to the centralized database, even if properly identified, would likely necessitate the queuing of such image files for processing into their standardized formats for posting to the database itself, resulting in less than simultaneous posting of information.
In addition, where files were to be reformatted into a compact and clear image format for viewing upon location in a user query of the central database over, for example, a slower network connection such as a modem connection to the internet, it would be desirable to minimize the bandwidth requirements of the application both in terms of posting an upload of image data to the centralized database as well as in terms of downloading of query results. For that reason, it would be desirable to process the image into the most compact format possible or desirable at the remote user""s network client computer, rather than transmitting what, in some cases, may be very large image files in non-compact file formats to the centralized database for processing and posting to the central database.
It is the object of the present invention to provide an apparatus, method and program for the central storage of standardized image data in a network database application. Specifically, it is the object of the present invention to provide an apparatus, method and program whereby photographs or other digital images stored on a terminal computer, operatively connected to a central server, can be manipulated automatically at the terminal computer to meet a set of predetermined image standardization criteria before uploading into a central database stored in the memory of the central server.
The apparatus of the present invention, being an apparatus for the storage of standardized image data, comprises a central server computer in which standardized image data is stored; at least one terminal computer, said terminal computer being adapted for communicating with said central server; said terminal computer containing a terminal program adapted to be executed by said terminal computer, for re-formatting specified raw image data stored in the terminal computer to meet a predetermined set of image standardization criteria, said reformatted specified raw image data being standardized image data, said standardized image data then being transmitted to the central server computer for storage.
Various image standardization criteria might be included in the predetermined set of image standardization criteria exercised on the specified raw images. For example, the image standardization criteria might include standard file formats, standard image sizes or dimensions and/or standard image resolutions.
In the case of a standard image size, the specified raw image could be standardized by scaling the specified image to the standard size required. With respect to image resolution, image resolution could be standardized by re-sampling of the raw image in question.
Where a standard file format was used, the specified raw image could be standardized by reformatting the raw image into the standard file format.
The terminal program could be adapted to authenticate the user of the terminal computer against user profiles stored in the central server computer in advance of the re-formatting of the specified image data. In addition to adding a security feature, the authentication of the user would also allow for the downloading of a user-specific set of image standardization criteria to the terminal computer from the central server computer upon authentication, which would allow for the adjustment of the operations of the terminal computer depending on the user according to preset system parameters.
The central server computer and the terminal computer could be connected by a network, and it is particularly contemplated that such a network might be the internet. The terminal program might be a stand-alone software or alternatively might be an add-in to an existing piece of software already resident in the terminal computer. As an add-in, the terminal program might be a browser plug-in or a JAVA(trademark) applet.
The terminal program could also be adapted to verify that the transmission of the standardized image data to the central server computer has taken place without errors. This might be done by having the central server computer send an error-free message to the terminal computer. Optionally, if the transmission took place with an error, terminal program could be configured such that it would resend the corrupted data.
In certain situations, it might be desirable to generate more than one standardized image from each specified raw image. For example, in a situation where it was desired to upload an image at a particular size and resolution to the central server computer, and also to upload a thumbnail of that image at perhaps a different size and/or resolution and/or file format. In such a case, the set of image standardization criteria might include criteria for the generation of this more than one standardized image from the specified raw image data and the terminal program would then yield this multiple number of standardized images from each raw source image.
The terminal program might be resident in the terminal computer, by being stored on a disc or otherwise in the memory of the terminal computer. Alternatively, the terminal program could also be called from or loaded from the central server computer into the terminal computer upon demand, such as in the case of a JAVA(trademark) applet. Similarly, the predetermined set of image standardization criteria could also be fixed within the memory of the terminal computer, or alternatively could be loaded from the central server computer on demand.
This apparatus might be further improved or modified by having the terminal program assigns identifying matter to the standardized image data generated, whereby the identifying matter, such as a key number or other type of code, could be transmitted to the central server computer along with the associated standardized image data. To take this aspect of the invention one step further, the central server computer might also contain a program adapted to be executed by the central server computer for filing the standardized image data when received from the terminal computer in storage in the central server computer in accordance with the identifying matter, that is to say using the identifying matter as a key to properly file the received standardized images.
Where such identifying matter was assigned by the terminal program, the identifying matter could be obtained by input from the user of the terminal computer, or alternatively the terminal program could generate the identifying matter on some other criteria or basis. The terminal program might use parameters or information downloaded from the central server computer in the generation of identifying matter.
A preview function could also be added to the terminal program where the terminal computer also had a display unit. The terminal program could be adapted such that the terminal computer would display the standardized image data on its display unit for approval by the user of the terminal computer before transmission thereof to the central server computer for storage.
Any number of terminal computers could be used in conjunction with the central server computer.
The present invention also encompasses a method of standardizing image data for storage in a central location, using a central server computer in which standardized data is to be stored and at least one terminal computer in which raw image data is stored, said terminal computer being adapted for communication with said central server computer, said terminal compute containing a terminal program adapted to be executed by said terminal computer, said method comprising the steps of specifying the raw image data within the terminal computer to be standardized; reformatting said specified raw image data to meet a predetermined set of image standardization criteria, the resulting reformatted specified raw image data being standardized image data; and transmitting said standardized image data to the central server computer for storage therein.
The method might be improved by adding a step of authenticating the user of the terminal computer against user profiles stored in the central server computer in advance of the selection of the raw image data to be reformatted. This would allow for the addition of some security to the application, as well as the fact that upon user authentication a further step could be added whereby a user-specific predetermined set of image standardization criteria could be loaded from the central server computer into the terminal computer and the user-specific criteria could be used.
The specified raw image data could be selected by user input at the terminal, or could alternatively be selected in some automatic manner by the terminal program.
In the method of the present invention, the predetermined set of standardization criteria might include any number of image formatting attributes, including a standard file format, standard image dimensions and/or standard image resolution for the standardized image data generated by the method of the present invention.
Where the predetermined set of standardization criteria includes a standard file format, the method of re-formatting said specified image data to meet the predetermined set of standardization criteria might comprise converting the specified image data to the standard file format. Where the predetermined set of standardization criteria includes standard image dimensions, the method of re-formatting the specified image data to meet these criteria might comprise the scaling of the specified image data to the standard image dimensions desired. Where a standard image resolution was desired, specified image data could be re-sampled to increase or decrease the resolution of the image.
In the method of the present invention it might be possible to also generate more than one standardized image result from each piece of specified raw image data selected. That is to say that numerous standardized images, each of which would match a certain set of standardization criteria, could be generated from a raw image and this series of standardized images uploaded to the central server computer as standardized image data.
The method of the present invention might also comprise the assignment of identifying matter to the standardized image data associated for transmission to the central server along with the standardized image data. This identifying matter could be used to categorize or properly file the standardized image data in the central server computer.
Where identifying matter was used, these could be assigned by user input at the terminal level, or could alternatively be generated by the terminal program. Where the terminal program was generating the identifying matter, the method might also further comprise the loading of certain parameters from the central server computer for use in the generation of the identifying matter. An example of this would be the loading of identifying key information from the central server computer for use with newly generated standardized image data which is to be uploaded for use with a pre-existing data record in the image database on the central server computer.
The terminal program might be resident in the terminal computer or alternatively might be loaded into the terminal computer from the central server computer on demand, such as in the case of a JAVA(trademark) applet. In the method of the present invention, the central server computer and the terminal computer(s) might be connected by a network such as the internet, or might alternatively communicate in a different manner such as radio or the like.
Also disclosed is a computer program operative to control a terminal computer, said program being stored on a computer readable medium, for the standardization of specified raw image data residing in said terminal computer for transmission to a central server computer, with which said terminal computer is adapted to communicate, which computer program, when executed by the terminal computer, will perform the steps of selecting the raw image data to be standardized from storage in the terminal computer; reformatting the selected raw image data to meet a predetermined set of image standardization criteria, said reformatted raw image data being standardized image data; and transmitting said standardized image data to the central server computer for storage therein.
This computer program might apply any number of different formatting attributes to raw image data, as image standardization criteria. For example, the image standardization criteria might include one or more of the following: a standard file format; standard image dimensions; or standard image resolution.
This computer program might be used where one or more raw images are desired to be standardized. One or more standardized images might be generated from each raw image.
Where the predetermined set of image standardization criteria includes a standard file format, the reformatting step of the computer program would comprise converting the selected raw image data to the new standard file format. Similarly, where the predetermined set of image standardization criteria included standard image dimensions, the reformatting step of the computer program might comprise scaling the selected raw image data to said standard image dimensions. As well, where the predetermined set of image standardization criteria includes a standard image resolution, the reformatting step of the computer program of the present invention might comprise to re-sampling the selected raw image data to a new standard image resolution.
The computer program of the present invention might be further altered by adding a step of assigning identifying matter to the standardized image data upon generation thereof for transmission to the central server computer along with the standardized image data. The identifying matter might be used to properly file the standardized image data in the central server computer.
Where identifying matter was used, it could be assigned by user input at the terminal computer, or alternatively could be generated by the computer program of the present invention.
Where the computer program of the present invention was generating the identifying matter, parameters received from the central server computer could be used in the generation of such identifying matter.
Upon the communication of standardized image data containing identifying matter to the central server computer, the identifying matter could be used to properly file the standardized image data in the central server computer.
The computer program of this invention might also comprise a step to error check the receipt of the transmitted standardized image data by the central server computer after transmission thereof, and to resend the standardized image data if the central server computer did not receive the standardized image data without errors.
The apparatus, method or program of the present invention could be used to create one or more standardized images from a source image stored in the terminal computer, each standardized image meeting one set of image standardization criteria. Alternatively, where the selected image data in the terminal computer comprises more than one image, the method, apparatus and program of the present invention could actually be used to produce sets of one or more standardized images for each source image.
The invention will allow for the uploading of images meeting standard criteria to a central database with a minimum processor load on the central server computer, since the terminal CPU is used to actually perform the standardization processes on the source image data. As well, by standardizing the image data at the terminal computer level, the upload bandwidth required between the terminal computer and the central server computer is minimized.